#include <QColor>
#include "pintorescaque.h"

#include <iostream>
using namespace std;


PintorEscaque::PintorEscaque(QPainter *painter)
{
    _painter = painter;
}

PintorEscaque::~PintorEscaque()
{
    //dtor
}

void PintorEscaque::visitar(Celda celda)
{
    vector<Punto> puntos = celda.getForma();

    if (puntos.empty())
        return;

    QColor color;

    int par = (celda.getColumna() + celda.getFila()) % 2;

    if (par)
    {
        color.setRgb(255, 0, 0);
    }
    else
    {
        color.setRgb(0, 0, 255);
    }


    QPointF p(puntos[0].getX(), puntos[0].getY());
    QPainterPath pathForma(p);

    for (vector<Punto>::iterator i = puntos.begin() + 1; i != puntos.end(); i++)
    {
        p.setX((*i).getX());
        p.setY((*i).getY());
        pathForma.lineTo(p);
    }

    QBrush brocha(color);

    //_painter->setBrush(brocha);
    _painter->fillPath(pathForma, brocha);
    //_painter->drawText(celda.getCentro().x(), celda.getCentro().y(), "11");
}
